package com.zshan.clinic.admin.entity.medical.rx.base;

import com.zshan.clinic.admin.entity.vo.ClinicProjectFeeStandardVo;
import lombok.Data;

import java.util.List;

/**
 * 外治处方模板
 * @author lichen
 */
@Data
public class RxExtInfo extends ClinicProjectFeeStandardVo {

    /**
     *  频率;一天三次
     *  取数逻辑：1.取字典口中key=FREQUENCY的数据
     *           2.传给接口的为数据中的frequencyCode字段，前端显示的为数据中的frequencyName字段
     *
     * */
    private String frequencyCode;

    /**
     * 频率中文
     */
    private String frequencyCodeText;

    /** 周期数量;默认1*/
    private Integer cycle;

    /**
     * 周期单位;天
     * 取数逻辑：1. 取frequencyCode对应的字典实体中的cycleUnit字段
     *          2. 传给接口的为数据中的cycleUnit字段，前端显示的为CycleUnitEnum中的text字段
     *
     *
     */
    private String cycleUnit;

    /**
     * 周期单位中文
     */
    private String cycleUnitText;

    /**
     * 备注;首次翻倍;多个用英文逗号分开
     * 取数逻辑：1.取字典口中key=REMARK的数据
     *         2.传给接口的为数据中的remarkText字段，前端显示的为数据中的remarkText字段，意思就是直接把文本给接口
     * */
    private String remark;


    /**
     * 出库量
     * 根据项目的chargeType（ProjectChargeTypeEnum）收费类型
     * 如果为1（按项目收费）频率对应的frequencyTimes(frequencyTimes一天两次，那么frequencyTimes=2) * cycle (输入的cycle )
     * 如果为2（按穴位收费）频率对应的frequencyTimes*cycle*穴位数（穴位列表求和,但是要注意如果穴位的侧别为双，则穴位的数量需要翻倍，）
     * dictFrequencyVo.getFrequencyTimes() * templateRxExtDTO.getCycle() * acupointCount
     *
     * */
    private Integer totalOutQty;

    /** 出库量单位 取项目的unit，显示值：取常量接口中key=UNIT&unitType=2(UnitTypeEnum)的数据*/
    private String totalOutQtyUnit;

    /**
     * 出库量单位中文
     */
    private String totalOutQtyUnitText;

    /**
     * 小计 totalOutQty * price（总出库量*项目的价格）
     */
    private Integer subtotal;

    /**
     * 穴位明细
     */
    private List<RxExtDetail> detailList;
}
